const person = { name: "Lydia" };

Object.defineProperty(person, "age", { value: 21 });

console.log(person); //? { name: 'Lydia' }
console.log(Object.keys(person)); //? [ 'name' ]
/*
? 通过defineProperty方法，我们可以给对象添加一个新属性，或者修改已经存在的属性。
? 而我们使用defineProperty方法给对象添加了一个属性之后，属性默认为 不可枚举(not enumerable). Object.keys方法仅返回对象中 可枚举(enumerable) 的属性，因此只剩下了"name".
? 用defineProperty方法添加的属性默认不可变。你可以通过writable, configurable 和 enumerable属性来改变这一行为。
? 这样的话， 相比于自己添加的属性，defineProperty方法添加的属性有了更多的控制权。
 */
